Professional Developers Conference


Internet Information Server Architecture

Transcript of J Allard's presentation at the Professional Developers Conference.

March 12, 1996

J Allard
Microsoft Corporation

View Word View Microsoft Word (.DOC) format of this document.

View PowerPoint View the PowerPoint presentation.

Editor's Note: In a few cases, we have added in words that were apparently dropped in the transcription process. They are set off by brackets: [ ].

J ALLARD: Wow. I was never this popular in high school. Good morning and welcome to the Professional Developers Conference. I appreciate the opportunity to speak with you today, and we'll spend quite a bit of time focusing around our active server technology. I'd also like to extend a welcome to the folks that are joining in from around the world in a dozen or so countries on the MBone. Welcome to the Professional Developers Conference.

I'll apologize in advance. It's unlikely that we'll have too much time for questions and answers. But your questions, your comments, and your input are very, very important to us, and I will make myself available after this presentation to meet with you and discuss any interests that you might have.

Today I want to talk about Web servers and the incredible opportunity the Web server market presents. I think it's safe to say that the Web opportunity took all of us a bit by surprise, and that it's blossomed beyond our wildest imaginations.

To frame this conversation, I'll spend a bit of time talking about our Internet Information Server 1.0 product. This product is one of the newest additions to the Windows platforms family released just four weeks ago. And I'll talk about that as the basis of all the great things to come in 1996 as we move towards the active Web.

The second half of my presentation will focus on what exactly we're going to do in 1996, how we're going to enrich the platform and the services for to you build interactive applications and talk about the ActiveX™ Server Framework at length, the new environment to build rapid Web-based applications in a visual environment.

No general session at the PDC would be complete without some demonstrations. And I'll focus on two demonstrations. The first demonstration will focus on Windows® 32, the Win32® API set. We recognize that many of you have made tremendous investments in the Windows APIs and more specifically, in Win32.

The first demo talks to the point of how you can leverage that investment, that knowledge, the code, on the Web platform, how you can extend and repurpose your application to the Web.

The second demonstration will go in-depth to give you a sense for the ActiveX Server Framework and the power that it presents, and the opportunity it will present to integrators, solution providers, to professional ISVs, and to corporate developers.

How big is this opportunity? Well, no one knows for sure, but it all took us by surprise. Today, there's over 100,000 Web servers on the worldwide Internet. And we know, based on industry analysts as well as numbers and talking to customers, that the growth opportunity in the intranet or in the enterprise is very likely to exceed the Internet opportunity shortly. Analysts predict that 150,000 Web servers were installed or deployed this year in 1995, and that by 1998, two million Web servers will be sold in that calendar year.

Microsoft's strategy is to enhance the platform, enrich the platform, and to create new opportunity for all of the development community by leveraging the existing investments that you've made in standards like HTML, in standards like CGI, in standards like Visual Basic, the Win32 API set and OLE, our object metaphor.

Our platform, our strategy with building this framework was focused on a no-compromise architecture. We are very unique in the Internet Information Server product in that we target exactly one operating system. We target Windows NT Server. And that integration facilitates a number of different and unique opportunities. It creates horizontal and vertical opportunities within the development community. It creates great opportunities within the Internet and really fuels the growth, because it's so easy to deploy and to manage because it's integrated with the existing tool set that our customers are familiar with. And it allows the development community to leverage the existing investments, not learning new languages, not learning new interfaces, not learning new programming metaphors, but instead, to embrace the existing metaphors that you know and are familiar with today, and bring them to the Web.

To frame the conversation, I'll start a little--start by presenting a framework or a discussion point of how the Web is moving from a static environment to an active environment and how we might get there. Obviously, everyone's needs are a little bit different and people are deploying Web services for a number of different reasons. So this isn't a static list, but it certainly frames the conversation. Today we're all familiar with static content. It's not very interesting other than for reference purposes.

We've all seen a little bit of dynamic HTML. Content providers on the Web enriching their sites to provide higher-impact content, to draw advertising dollars to their sites, and to attract new users or committed users to their services. We've also seen the genesis of a lot of data-bound applications, or Web environments tied into database services. And today they're very primitive. Although some third parties have done an excellent, excellent job creating Web database integration interfaces and applications, we're by no means done. It's very clear that integration with legacy systems is critical to the enterprise. And it's also very clear that to build a true commercial site on the worldwide Internet, the database activity is key.

The truly active applications really fall into these next two categories. First, the interactive applications that you've probably experienced on some of the higher-end sites on the Internet. What you might not be aware of is the cost of those high-end internet sites and how many C++ programmers were there all night working on code. You also probably have some appreciation for how the application development environment and the formatting or the HTML or content environment are tightly integrated. So if you want to take advantage of a new HTML tag that's become popular with the latest generation of browsers, you rebuild your CGI application. We want to move away from that model with the ActiveX Server Framework and allow to you build reusable components and very, very rapidly build Web-based applications and reuse those components within other Windows apps.

The final point here that I'll present on activity is really personalization, or full synthesis of content when you connect to a particular Web site. Some of the very high-end sites in the Internet today have experimented with personalization, but by no means is it something that's attainable by most Web managers or Web masters.

Let's talk a little bit about Internet Information Server 1.0 and what our design points were. Our objectives were very, very clear. We wanted to build a very easy-to-use, a very scalable, fully integrated product with Windows NT Server that provided all of the extensibility requirements and needs of the service procedure community or the integrators, or corporate developer partners and professional ISVs. The integration with Windows NT Server and our no-compromises architecture really allows some unique advantages that I'll talk about in a moment. We believe that this product scales very well from the workgroup to the enterprise to the world's largest Web servers in production on the commercial Internet today. And that's because of some unique design decisions that we made and some interesting feature sets that we decided to select.

This relatively busy graph tries to illustrate that point. For the workgroup case, you can install this product in under three minutes. You answer three or four simple dialogues, and you've immediately brought your workgroup to the Web. A workgroup administrator installing Internet Information Server uses the exact same tools that he or she used to manage user accounts, file permissions, and the like, monitor the performance of the server, and so forth, that they use for file and print services or application servers today. We also bundle Internet Explorer with the product so that you can immediately get your workgroup up and started.

From the enterprise perspective, you get all those same benefits. You still work within the common application--or common administration framework. It's still very simple to install. But we also give you some added benefits that target more specifically our enterprise customers, remote administration in a console that allows you to administer hundreds of Web servers on your site.

A very key element of our design by integrating with Windows NT server allows users to have one single network logon or one user account and one password. What that means is the users use the same password and the same user account to access files, print, applications, and Web for the entire enterprise. There's no concept after Web user in our world. There is a Windows NT user. There's no concept of Web management tools in our world. It's Windows NT Server administration tools.

We also protect the privacy of users and the security of your network by using Windows NT challenge response as a new HTTP authentication type. This is supported in the latest releases of Internet Explorer and on the conference CDs; we have some sample code that allows to you take your HTTP client application and integrate it with this Windows NT challenge response. What this means is that Windows NT passwords are never passed in the clear over your corporate network or over the worldwide Internet. And we hope and expect lots of the other browser providers with support this scheme as it is so popular.

We also support SNMP, which is useful for the consoles that are already deployed today. And the Internet Explorer site license is attractive. From a commercial site, you've got secure remote administration, which is useful when you have a machine in a closet and you don't want to open it up for attacks. Our performance is world-class. Again, the no-compromises architecture allowed us to target exactly one system and take advantages of the full capabilities of that underlying system, Windows NT Server. We also allow a commercial site to log all the usage tracking to an ODBC database support, any database supporting ODBC, and we also have OSSL support.

A number of people have approached me and made the assertion that performance in Web servers is not that interesting. Performance is uninteresting because all of the users in the Internet come in via 14.4 modems or 28.8 modems, or I only have a T-line, so capacity or the bandwidth is the bottleneck. That's not true in all the environments, most particularly in the Internet environment, where the legacy systems or back end is critical, where bandwidth constraints are not a bottleneck. There's ten-megabit, 100-megabit available to all users. There's more and more code being run on all these multipurpose servers. It's also your fax and mail and print server. What that means is Internet Information Server provides the headroom to build on top of that platform or to build alongside that platform with other server applications.

We also expect in the commercial Internet more and more content will be synthesized or the Web will turn more and more active. What does that mean, headroom for innovation, for the commercial Internet sites out there? Internet infrastructure improvements are coming along. The telecom reform bill is certainly going to help that by making the market more competitive. We're seeing the advent of ISDN and cable modem technologies, which should certainly reduce the constraint of bandwidth as being a bottleneck on the Internet. And lastly, peak planning, which is often an attribute or task that Web masters only learn about too late, when their Web site makes it to Fortune or Forbes magazine and everybody comes in. You start dropping off customers on your most critical business days. That's not good. So performance is critical.

Where does Internet information stack up relative to other performance or published benchmarks in the industry? Well, we stack up quite well, actually. These are all--all these charts here, the slices in the chart, represent bragging rights, numbers that have been published by various hardware and software vendors on the Internet. Many of these performance statistics are based on very high-end, expensive Unix platforms with some of the most popular Web servers in use today. As you can see, Internet Information Server on a modest dual processor Pentium system outperforms the competition by a great factor. Again, you might not be servicing 250 requests per second on your Web site. But the headroom that IAS facilitates allows to you innovate and improve the impact of your site or to tie into your existing information systems on the intranet.

Extensibility was one of the key founding factors of Internet Information Server. And we wanted to address the needs of not just the professional developers, but more importantly, perhaps, the integrators and the corporate developers. First, we support CGI or the Common Gateway Interface. CGI is a convention for extensibility of Web servers that allows the Web server to invoke another process, connects two system handles together, and allows the output of that system process to be returned to the client. It's a very simple metaphor to program to. Its compatible with existing Win32 Web servers and is the same extensibility mechanism supported on Unix. But it's not very efficient. So for a very, very high-traffic site or a very important or frequently-used mission-critical application that might have state requirements, CGI is unacceptable.

So we set out in IAS to define a new extensibility interface that we call the Internet server API or ISAPI. It allows you to extend the Web server in a number of different ways, all in process. This in-process model facilitates a very high performance extensibility mechanism, reduces the number of context switches, reduces buffer copies, eliminates the process creation cost, and ultimately allows to you service more customers than would you with a CGI application.

We have two different [Internet Server application programming interface] ISAPI application interfaces. The first is the application interface, which the way to think about it is an efficient CGI. It's a DLL model. It extends the simplicity of CGI and intertwines that with the performance characters of Internet Information Server. The other API that we have is the ISAPI filter API. And the filter API allows to you extend an Information Server in any arbitrary way you like; again, in process, it's extremely flexible, yet maybe not as simple as ISAPI filter APIs. And gives you full access to any of the HTTP request[s] coming in or response[s] coming out. There are lots of scenarios you can tackle using ISAPI filters. There are two breakout sessions on ISAPI, and I urge you to attend for more details.

These are the facilities built in Internet Information Server 1.0. IAS is just integrated with Windows IT servers. We have the ISAPI API on top of IAS, it allows to you extend it in arbitrary ways. Bundled with the product comes CGI support, so you can build custom CGI extensions, as well as the Internet database connector. And what that is is a very simple ISAPI application that allows you to bind the Web server to any compliant ODBC data source. This allows to you build first-generation data-bound active generations right out of the box with no programming knowledge necessary. We have a very simple file format, template file format that's very convenient to use for HTML programmers and gives you a lot of flexibility with the layout and the reporting structure of the resultant operation.

Later this year, we'll be introducing the exchange Web connector that we've demonstrated on a number of times. This is an ISAPI application as well that gives you access to exchange public folders via the Web. It allows exchange customers to retain the very highest level of fidelity by using the exchange Explorer and allows anybody using the Web to participate in the discussion areas with a slightly reduced set of functionality. Then there's also the ability for to you build your own custom ISAPI extensions. For development information, we're putting it all on the Web. It's very exciting to see so much Internet technology being leveraged both in this conference as well as within Microsoft and in our communication with you. And we like to hear how we can do better.

The SDK is available online today under the /intdev/server/ address. It includes six or seven samples that give you a real solid idea of how to build ISAPI amounts and how to test them.

Microsoft Foundation Classes (MFC) version 4.1, which will be talked about later this afternoon, includes ISAPI development support and classes for ISAPI. We'll have a breakout session for that tomorrow. And then finally, on ISAPI, it was designed in an open process with a company by the name of Process Software; it's also been endorsed by our partners, Spyglass, and by a number of other Win32 server vendors as well as Unix. Spyglass will be supporting it on the Unix platform and I received word this week that Apache development team was ISAPI-up-and-running today in the latest version of the code base on Unix.

Well, this is all very interesting. It's probably good information for you to understand the architecture of the product and the extensibility of it. But really, how are we doing in the market and is this a platform that you want to bet on?

You betcha. We've had incredible industry response to this product. As I mention, we launched it on February 12th, just four weeks ago. And we've had in excess of 30,000 downloads of the product, despite its four-megabyte size or whatever it is, that's been deployed both on the commercial worldwide Internet as well as intranets around the world. Over 50 ISVs have announced support or shipped products based on the ISAPI application interface today. You can learn more about those ISVs and what their products are up on the Microsoft home page.

We also have learned through an automated process up on one of the Web sites of the UK that goes and surveys all the servers out on the Internet, that Internet information server, in just two weeks from February 12 to February 28, was deployed on over 1100 servers worldwide. That means within two weeks people downloaded the software, installed it, built sites and deployed it. So the momentum is fantastic. Of the over 13 hardware original equipment manufacturers (OEMs) shipping products to go, virtually all of them are including OES as part of the bundle. I just want to spend a very brief moment on a demonstration that was put together, a production code that was built by our Consumer Division. It has been titled Automap Road Atlas; it allows you to do route planning for trips in the U.S. So they've done this for the Web and used this as a teaser up on microsoft.com.

So I can specify my starting point, my ultimate destination and submit the route. You notice how quickly that came back. That's an ISAPI application running across the net on another Web server. It's very quick to respond. You notice I didn't type in San Francisco. It did a fuzzy match for me. I only typed in Redmond. It got the wrong state. I'll type in the route. The server isn't doing any work right now and I can demonstrate the route. It will take 15 hours and 11 minutes so I'd rather take the plane, but what they've done is outline the entire route for me between San Francisco and Redmond, Washington. This is how you can leverage your experience today on the Web using Internet [Information] Server.

On to tomorrow, with a very successful adoption of Internet 1.0; we've also received a lot of customer feedback. Our strategy in releasing or evolving IIS will be to release it as soon as it's necessary to meet customer needs. Our next release will be bundled with Windows NT 4.0. The full product will be integrated with Windows NT Server and in response to the development community, we will include as part of Windows NT Workstation a developer version, and you as attendees of the PDC today will get, at the end of the week, a CD that includes a preview of this developer version. The developer version will be limited in some capacities. It will not be supported as a deployable version or a products version, but it will allow an ISAPI application developer or content developer full unrestricted use of the server locally to build content and applications.

Although our performance is already world-class there's a lot of work that we can do and we recognize that, so we are putting a lot of emphasis still on performance to clear that headroom for the active applications that will be coming in '96. Also in response to customer demand, we're going to be including Web-based administration. The current administration model is very secure. It uses the Windows NT challenger response mechanism over our PC and it's been very popular. Yet some customers are interested in managing their Web servers using the Web framework and we're going to provide that in 1.1.

Our second release in '96--or third release, I guess, in '96 will be in the fourth quarter. There will be two themes for this release. First will be an improvement for the Internet. Internet customers have told us what they need to deploy this mission-critical environment and how they would like to see us grow this bait. For the Internet customers, we're going to provide better management. The management today is already good, but we're going to allow corporations that have deployed many, many copies of IIS to better manage and harness the power of IIS throughout their enterprise. We'll also have content index as part of the operating facilities.

Another area of focus will be fantastic integration with the rest of the products in the Microsoft family. This includes Microsoft BackOffice™, not limited to just SQL and Exchange but we'll be improving ties there. The product called FrontPage will be tied in the Internet Information Server and IIS will be a great target for FrontPage content. And this afternoon we'll present Internet Studio, a great tool for ActiveX Server Framework applications. IIS will be the best target for that tool set.

Other improvements focus on the development community and the needs of this customer base. One area that we're going to evolve is ISAPI. It will continue to be our very high performance, high flexibility powerful API set for building rich applications. We will also introduce the ActiveX Server Framework run time, which will be a less intimidating way to build Web applications based on reusable components and very simple object technology that you're familiar with.

The ISAPI applications in 1996 will be extending the core platform. We will continue in our open design process by inviting independent software developers (ISDs) out to Redmond and presenting at conferences holding birds-of-a-feather sessions, [and so on]. There's an ISAPI mailing list and we urge you to learn about this on microsoft.com, to provide feedback about how we can extend and grow this. Many of you have asked for a COM-based version of ISAPI so you can take advantages of OLE on the server. That will be provided in '96.

Another facility that corporate developers and the development community have asked for is ISAPI process isolation. We'll deliver on that promise in 1996 as well. We'll continue to make performance improvements. There are whitepapers up on microsoft.com that have been validated by third parties, by benchmarking laboratories that discuss the performance characteristics of ISAPI when contrasted to CGI. We know that we can make performance there as well, better performance there as well. And we'll also integrate better with the administration facilities so that you have the concept as an administrator to install or uninstall an ISAPI application and improve the security of the system.

Internet Information Server 2.0 will be a major release. This will be the release that enables the next generation of Web applications, active Web server applications. The situation today is that most content is very static. It's extremely difficult to build or maintain dynamic content because your only mechanisms for extending are through funny scripting languages within line HTML, or with C++ within line HTML, having to rebuild applications as HTML standards evolve, and not being able to reuse components very effectively. We think there's a tremendous opportunity in making server application development more approachable. We want to appeal to the Visual Basic programmers, to the HTML authors of the world with this new ActiveX Server Framework run time. And we also want to enable the concept of building applications based on reasonable component technology.

We don't expect that in the Internet, for example, that all Web server applications are going to be dissimilar. They will be very similar so you'll be able to build specific components that integrate with your information systems and tie together in a multitude of Web applications across your environment. So our call to action is to provide the ActiveX Server Framework as a complement to ISAPI in 1996. We talked a little bit about this today. This is today's active server. It supports the Internet Server API, and on top of that we built the Internet database connector and the Web exchange connector. Third parties are extending that using their own customized ISAPI applications. In '96 we'll provide the framework run time and it will do a number of things. It will promote first and foremost active server controls and scripting. By default these are just OLE Automation objects. So if you've already created them on some other scripting language, you can leverage that technology today and repurpose it for the Web as a reusable component. The other hosting we'll do is for active server scripting. Much as we support server scripting on the client using IOLE we'll do the same thing on the server. It's also possible for us to hos[t] JavaScript, Perl and other things in this environment.

In '97 we'll introduce Viper. Viper will be discussed at some brief periods throughout the conference where we will introduce better scalability, component coordination and transaction processing, allowing you to scale from applications to true systems for both mission-critical deployment on the Internet as well as corporate or commercial applications on the Internet.

So the charter for the ActiveX Server Framework team is to build server scripting. By default we'll host VBScripting but we'll extend that so Perl and JavaScript can be supported as well as other languages such as tickle. The scripting environment will be the environment that drives the active server controls. And like I mentioned before, the server controls are just OLE Automation servers. These are built on standard tools. They can be built in Visual C and Visual C++ as they are today. Tomorrow, we'll talk about--in our tools talk--how you can build these using Visual Bsic, and the Java language can also be used to build these reusable objects on the server.

In the future, with Windows NT 4.0 we will allow you to take these server-side controls and these active client controls and tie them together using Distributed COM and using your own protocols, rather than depending upon the transactional nature of HTTP. Finally, we'll host great database connectivity as an active element of the framework. To this end I'm happy to announce we've acquired a company called Aspect Software Engineering from Honolulu and they'll integrate the great work they've done and the common vision we share as part of the active network framework in '96. I'd like to break now for a demo and demonstrate some of the facilities we've been talking about in the active server.

Seth Pollack is going to demo today for us.

SETH POLLACK: I have here a few sample sites I've put together using Active Server Framework and what I'd like to show here is how people are using from static COM to much more dynamic sites. That means they need to deal with database access, form handling, kind of the simple things you see today as well as moving to much more rich things in the future. Like changing the content you see depending on the kind of browser you see coming in or particular users coming in at some time so each user can have a individual experience at a site.

J ALLARD: So this is Internet Explorer [IE] 3.0, right?

SETH POLLACK: That's right.

J ALLARD: I can tell because it looks pretty fancy.

SETH POLLACK: What you see here are a few examples of I[E] 3 supports. You have APIs running our keys. More interestingly, up here we have an Active[X] Control. This is a dynamic billboard control in this case being used for advertisement. So the Volcano site wil make a little money this way by having this rich control on the client.

J ALLARD: So that is an active client control.

SETH POLLACK: That's right. So this is showing client-side technology here. I was really excited about Chris's talk and I thought I'd show it off here. So let's go further into the site; if we click here we'll go on the great taste tour.

J ALLARD: We're going.

SETH POLLACK: Here we are.

J ALLARD: That's pretty neat.

SETH POLLACK: So on this page we see two controls. We have a standard HTML control but what is interesting is this has been populated from a database. When this was generated on the server side there's actually VBScript code running which was talking to a database active server control to get that information.

J ALLARD: So all that information is happening on the server.

SETH POLLACK: That's right, that's right. That was the result of that URL click from the last page.

J ALLARD: What do we have on the left here?

SETH POLLACK: This is a calendar control. It's a client-side control. It's a nice control here. We can change the month and the year and flip around. And this lets me pick what day I want to go see the Volcano Coffee Company tour. So let me try yesterday. You'll notice that it realizes this is not an easy thing to do given physics and it tells me that date has already passed. This is validation happening on the client side.

J ALLARD: So there's been no network traffic whatsoever to validate that that date has already passed. It's all using client scripting.

SETH POLLACK: That's right. They get feedback right away. Let's try choosing today and we'll look here in the Bay Area and see what events are going on. And we have a problem, so--

J ALLARD: Can we reload that page?

SETH POLLACK: Let's try--

J ALLARD: It looks just as bad as it did before.

SETH POLLACK: Yes, it does. Let's move on.

J ALLARD: On to the next demo. That's great for Internet Explorer browsers but not everybody is upgrading to Internet Explorer 3.0 yet. Is the Volcano Coffee Company turning away users from other browsers?

SETH POLLACK: We don't want to do that. We want to take advantage of features have that active client controls but at the same time we want to reach other browsers out there.

J ALLARD: I use that browser called NSCP Mosaic.

SETH POLLACK: NCSA Mosaic?

J ALLARD: Yeah, that's it.

SETH POLLACK: Let's bring that up, then.

J ALLARD: This is where I did my Automap demo.

SETH POLLACK: There's Volcano coffee company. Who put that there?

J ALLARD: This doesn't look quite as snazzy. This is not an active browser, apparently.

SETH POLLACK: It's very passive, yes. There's no API, there's no marquees, and--

J ALLARD: There's no advertisement. How do your advertisers feel about that?

SETH POLLACK: Looks like the advertisement is missing. Looks like I didn't get that feature in there last night. Let me do it now and show you how easy it is. Conveniently, I have the file here. This is the Volcano page that we were just looking at. You'll notice it's HTML. Looks pretty familiar. But if you look down here you'll see that there's actually VBScript code in line in the HTML.

J ALLARD: This is running on the server.

SETH POLLACK: That's right. This page is evaluated. This code is run and a result is sent back to the client.

J ALLARD: This is never downloaded to the client so it the client has no idea the server is make being--

SETH POLLACK: It's all happening on the server side. Here I'm actually checking what kind of client is coming in. If it's an IE 3.0 client then I'm sending this down to the client as well as some script to drive that control and make it spin around.

J ALLARD: Looks like Visual Basic to me.

SETH POLLACK: It is. And you'll notice that down here is just more HTML; right? I didn't do anything, though, if the browser was not IE 3.0. So let's go in and fix that. Since I hate making typos in front of thousands of people I'll cut and paste this out of another file here. But you'll see it's really just very simple code, three lines of code, basically, putting in a statement, creating an object on the server side and then telling it a method to pick an ad. So we did that, we copied that, and we'll go in here and paste it in. And now we'll save that. And we can get rid of that and let's try reloading the page. Why don't you go for it. Hey, look at that.

J ALLARD: Look at that. And the ad can't rotate because it's not an active client; right?

SETH POLLACK: That's right. This is just an image source tag that's sent down, generated at the server side. If you reload it you see we get the different ads.

J ALLARD: Let me understand. Was the server control that's demonstrated here and the client control demonstrating Internet Explorer, was that different code or is the developer able to leverage any of his code between the two?

SETH POLLACK: You bet, you can definitely leverage code between the two. Both things are COM objects on the client and server side, and in fact since we're targeting Win32 on both sides here it's possible to share a lot of code between those two.

J ALLARD: That's neat. You also have the date control. How do we do the dates now that we have a passive line?

SETH POLLACK: Why don't you go on the great tastes tour and we'll see what it looks like. You notice we don't have that nice calendar control. On the server side when we generated this page we checked what kind of client was coming in and if it was a client that doesn't support active client controls, then we put that controls. You notice if you picked a place in the back it does validate it but not immediately. You have to send in your page and on the server side it does parameter validation.

J ALLARD: And that parameter validation is done using VBScript as well.

SETH POLLACK: Yes. It's just a couple lines of VBScript loan.

J ALLARD: On the real Internet this would be a pain in the neck. Great. Now this is a really nice demo and you put together a great sample site but in terms of deployable technology that people can base mission-critical sites on, how long [until] are we there?

SETH POLLACK: Let me show you something else. If we can switch back over here I'll show you another page and just to show that we really care about reach and we want to use all different kinds of browsers, I'll bring up another leading browser here, look at that.

J ALLARD: I'm familiar with that one, too.

SETH POLLACK: You've seen that one? So this page may look familiar if you've been to the MSN custom home page. This lets you lay out your own personal home page. This page on the MSN site currently is written using custom "C" code and it was a significant development piece of work. Let's try this one, though. This page here was reimplemented using the ActiveX Server Framework, so it's all using VBScript and objects on the server to store those per-user preferences.

J ALLARD: You should give them your cool rotating billboard.

SETH POLLACK: Yeah, I should do that. What's your favorite site?

J ALLARD: Oh, every morning when I wake up I check out netscape.com. That's a good one.

SETH POLLACK: Maybe want to see some stock quotes? Maybe in Netscape 2.0?

J ALLARD: That would be interesting.

SETH POLLACK: What else we got here? I bet you'd like to see ski reports. What do you think?

J ALLARD: That might be interesting.

SETH POLLACK: Where would you like to ski today?

J ALLARD: Utah sounds great.

SETH POLLACK: Let's start with that. That's a good starting point. I'll put your name in here, just J here. You can set up the page. And now you'll notice that we have this page laid out with your options. We can go check your ski report.

J ALLARD: That's pretty neat. That is pretty good.

SETH POLLACK: We'll go out on the Web and the Web is not always fast but it's gone. So what's going on there again is this has been reimplemented and the guys are really excited about this because it lets their content people lay out this page, and if they want to change the layout they don't have to go through that whole cycle of updating an ISAPI application.

J ALLARD: Before you leave, how about we talk a little bit here about what went through this demo. When we acted the active server control, what Seth did was the interactions with the client and the server, and an HTTP gap was referenced, and the volcano page in turn referenced the ad rotating custom control up on the server that was synthesized using the ActiveX Server Framework, and passed back to the client with the great ad rotating control. Now, can we walk through the VB[Script]?

SETH POLLACK: Sure. Let's bring up the slide here. If you look at the slide, you'll notice that in white we have HTML. And in mark, what's going on there again is we have a test to see what kind of browser it is. If it's an IE 3 browser, we pass the reference in the VBScript code to the active client control. If not, then we're actually creating a server control, this server-side database or server-side ad picker. And asking it to get an advertisement, which it returns as an image source path that we stick in the HTML.

J ALLARD: That's terrific. Thanks for the demo.

In terms of time line, I'd just like to set some expectations of the time line of the technologies that we're talking about today. Internet Information Server 1.1 will be bundled with Windows NT 4.0, late spring this year. And the ActiveX Server Framework will be in very wide public beta by this summer. We expect that we'll integrate Internet Information Server in that ActiveX Server Framework as a major release to enable the next generation Web applications by the end of this year.

So to summarize, our strategy with regard to Web servers are to support existing standards today and extend upon those through an open design process using ISAPI to give the development community the finest grain control that they need to build today's interactive server applications. Tomorrow we're going to make the Web or the active Web more approachable for HTML authors and for access developers, by building applications based on reusable components. They can be built in a very rapid fashion, as Seth demonstrated today. And allow to you build and synthesize content in a very personalized nature, increasing the impact and the reach of your site on the Internet and on the intranet, having a very easy scheme to interact with services on the back end.

That's our part. Our part is to enable you to leverage your Win32, your OLE, your HTML, your Visual Basic investments on the Web server platform, and we'll do that through the ActiveX Server Framework. Your part is to innovate on top of that platform that we present to you. And I look forward to seeing your innovations on the active Web. Thank you.

(Applause.)

J ALLARD: We have ten minutes before lunch. So we'll break for a few simple questions and then I'll make myself available.

QUESTION FROM THE FLOOR: Will the Oracle Web solution be a competition to this or a possible opportunity for interoperability?

J ALLARD: I believe that the--I don't have full details on the Oracle Web solution. So it's difficult to comment. But certainly the ActiveX Server Framework will embrace Oracle or any other relational database that supports or adheres to the ODBC standard. So we will certainly implement an interoperable environment with Oracle, with Oracle as a backing store. And we expect that Oracle will also do some nice things to bring their technology forward to the Web.

QUESTION FROM THE FLOOR: I thought you were going to support native database connectivity, not just ODBC.

J ALLARD: Our support to databases will be through the ODBC interfaces in this release in 1996.

QUESTION FROM THE FLOOR: All right. Thank you.

J ALLARD: A question on the left.

QUESTION FROM THE FLOOR: For those of us hosting IIS on DEC Alpha Web servers, what kind of performance are we going to be looking at for running VB[Script] on the DEC Alphas for server side?

J ALLARD: The Visual Basic Scripting environment that we will be hosting as part of the ActiveX Server Framework is a thread-save concurrent implementation that runs in all platforms. It's a different code base than Visual Basic for Application[s] with a Visual Basic proposal product today. So the scalability will be very good. As we focused on performance in IAS as being a key differentiator, we will do the same in the ActiveX Server Framework, so you can expect that performance to be great. Because of the interactivity between the scripting environment and OLE Automation servers, most of your performance code will likely--or your high compute code--will be encapsulated in OLE Automation server, and provided that that's authored in a high-performance language such as V[isual]C++, you'll be fine.

QUESTION FROM THE FLOOR: Thank you.

QUESTION FROM THE FLOOR: "J," are there any plans for compatibility issues between the active server or the ActiveX code that's on the client and then the code that will be on a server so will there be a whitepaper model, so to speak, to say, I can go to ActiveX on the client today and then in nine months or so, start porting that to the back end?

J ALLARD: Absolutely. You'll be able to leverage any investment that you make in active client technology up on the active server. The demonstration that Seth ran you through actually used the exact same code for the server-based billboard control as well as the client-based. There were different methods. The methods running on the server were not UI and didn't require any interactivity, whereas the ones on the client actually drew up on the client.

So it will certainly be possible to build objects that run either on the server or on the client. And if you do develop to OLE and Win32, you'll be able to extend that leverage and that code base to the server.

QUESTION FROM THE FLOOR: Thank you.

QUESTION FROM THE FLOOR: You showed the identification of the client browser on the server using HTML. One of the things I think this could be used for is to distinguish the content that's actually being sent down and change it so that it could be rendered on, say, smaller screens for PDAs or perhaps other things, such as bandwidth constraints. Could you actually scale the content on the server so that it could fit in those bandwidth constraints? Was that one of the things you considered?

J ALLARD: Absolutely that's something that we consider. We want the ActiveX Server Framework to be fully adaptive based on client capabilities. To the degree that the client passes that information to the server, you, as a Visual Basic Scripting author on the server will be able to take advantage and take action based on those capabilities. Today's HTTP protocol does not provide provisions for all of the different types of capabilities that you outlined. But we are working in the IATF and with the W3C on defining some of these things so that you can create richer experiences for new different clients.

Take one more over here and then Tammy is going to kick me off.

QUESTION FROM THE FLOOR: I just wanted to make sure that I understood something. You said that ISAPI and Active[X] Server [Framework] could work with non-IIS products like Open Market or other Web servers.

J ALLARD: ISAPI has been endorsed by a number of different Web server vendors. Open Market, I don't know off the top of my head if they support ISAPI. But they certainly are welcome to and we will share specifications and work with them on building a compatible ISAPI implementation.

In terms of the ActiveX Server Framework, this is an environment that we're building based very strongly on Win32 as it leverages OLE, and others. We're making available at no charge Visual Basic Scripting for license for server vendors, and a number of server vendors have already approached us. And we'll encourage them to do it in the most compatible fashion possible.

QUESTION FROM THE FLOOR: Thank you.

J ALLARD: I appreciate your time. Thank you very much.

UpBack to table of contents for General Sessions

© 1996 Microsoft Corporation